	.model small

        .stack 100h     
        
        .data           
mess	db 'Hello, world!$'
        
        .code           
        
	.startup

	mov ax,8866h
	sahf
	lahf
	mov cx,7773h
	push cx
	popf
	pushf

	mov word ptr [bx],0ddbbh
	mov word ptr [bx+2h],3333h

	lea di,[bx]
	lea di,es:[1234h]
	lea di,[bp+12h]
	lea di,[bp]
	lea di,[bp+1234h]

	les di,[bx]
	lds si,[bx]

	xlat
	xlat ds:[123h]
	xlat mess

	xchg al,bl
	xchg cx,dx
	xchg [bp],bl
	xchg [bp],cx
	xchg ax,cx

	push ax
	push cx
	push ds:[1234h]
	push [bp]
	push [bp+1234h]
	push [bp+di]
	push [bp+di+12h]
	push cs
	push ds
	push es
	push ss
	pop bx
	pop dx
	pop [bp]
	pop ds
	pop es
	pop ss


	mov al,bl
	mov dx,cx
	mov cx,dx
	mov cl,ds:[1234h]
	mov cx,[di+1234h]
	mov [di+1266h],bl
	mov [bx+1234h],ax
	mov cl,0ffh
	mov dx,011ffh

	mov byte ptr [bp],0ffh
	mov byte ptr ds:[12h],0ffh
	mov byte ptr ds:[1234h],0ffh
	mov word ptr [bp],0ffh
	mov byte ptr [bx+10h],0ffh
	mov byte ptr [bx+1000h],0ffh
	mov word ptr [bx+2233h],011ffh

	mov byte ptr [di],0ffh
	mov byte ptr ds:[di+12h],0ffh
	mov byte ptr ds:[bp+di+1234h],0ffh
	mov word ptr [si],0ffh
	mov byte ptr [si+10h],0ffh
	mov byte ptr [bp+si+1000h],0ffh
	mov word ptr [bx+di+2233h],011ffh

	mov ds,ax
	mov ax,ds
	mov ds,[bx]
	mov ds,[bp]
	mov ds,ds:[10h]
	mov ds,ds:[1000h]
	mov ds,[bp+10h]
	mov ds,[bp+1000h]
	mov [bx],ds
	mov al,01fh
	mov ax,0ffffh

	mov al,ds:[12h]
	mov ss:[12h],al
	mov al,cs:[1234h]
	mov es:[2345h],al

	mov ax,ds:[12h]
	mov ss:[12h],ax
	mov ax,cs:[124h]
	mov es:[2345h],ax



ccc:	nop
	.exit
        end             
